// const m = new Map()
// const o = {p: 'hello'}

// m.set(o,'content') // 增
// m.delete(o) // 删
// console.log(m.has(o)); // 判断是否有
// console.log(m);




// const m = new Map([['name','张三'],['age',18]])
// console.log(m.get('name'));  // 查
// console.log(m);


// let arr = [['name','张三'],['age',18]]
// const m = new Map()

// arr.forEach(([key,value]) => {
//     m.set(key,value)
// })
// console.log(m);


// const set = Set([
//     ['foo',1],
//     ['bar',2]
// ])

// const map = new Map()



// const m = new Map()
// const k1 = ['a']
// const k2 = ['a']

// m.set(k1,111)
// m.set(k2,222)

// console.log(k1); // 111
// console.log(k2); // 222



// const map = new Map([
//     ['name','谢大佬'],
//     ['age','20']
// ])
// map.forEach((value,item) =>{
//     console.log(value,item);
// })
// 因为map里都是箭头函数的形式得到值，
// for (let item in map) {
//     console.log(item);
// }

// for (let key of map.keys()) {
//     console.log(key);//name  age
// }
// for (let value of map.values()) {
//     console.log(value); //谢大佬  20
// }

// for (let item of map.entries()) {
//     console.log(item[0],item[1]); //name 谢大佬  age 20
// }  // entries可不加，item可换成[key,value],解构的形式去获取



const wm = new WeakMap()
let key = {foo:1}
wm.set(key,2)
wm.get({foo:1})